package emp.jsf.servicio.impl;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import emp.entidades.EntAlmacen;
import emp.entidades.EntCliente;
import emp.entidades.EntCompra;
import emp.entidades.EntMoneda;
import emp.entidades.EntTipoCompra;
import emp.entidades.EntTipoDocumento;
import emp.jsf.servicio.CompraService;
import emp.repositorios.ClienteRepository;
import emp.repositorios.CompraRepository;

@Service("CompraService")
public class CompraServiceImpl implements CompraService {

	@Autowired
	CompraRepository compraRepository;
	
	@Transactional
	@Override
	public List<EntCompra> listarCompras(){
		List<EntCompra> lista;
		
		lista=compraRepository.findAll();
		if(lista!=null && lista.size()>0){
			lista.get(0).getEntTipoDocumento().getDescripcion();
			lista.get(0).getEntProveedor().getRazonSocial();
		}
		return lista;
	}
	
	public EntCompra grabarCompra(EntCompra ent){
		return compraRepository.save(ent);
	}
	
	public void eliminar(EntCompra ent){
		compraRepository.delete(ent);
	}
	
	public List<EntTipoDocumento> listarTipoDocumentoCompra(){
		return compraRepository.findAll(EntTipoDocumento.class);
	}
	
	public List<EntTipoCompra> listarTipoCompraCompra(){
		return compraRepository.findAll(EntTipoCompra.class);
	}
	
	public List<EntMoneda> listarMonedaCompra(){
		return compraRepository.findAll(EntMoneda.class);
	}
	
	public List<EntAlmacen> listarAlmacenCompra(){
		return compraRepository.findAll(EntAlmacen.class);
	}
	
	@Transactional
	public void actualizarEstadoPorId(long id, int estado){
		compraRepository.actualizarEstadoPorId(id, estado);
	}
	
}
